//    Copyright (C) Kherty.  All rights reserved.
using System;
using OpenLS.Core;
using OpenLS.Spreadsheet.Internals;

namespace OpenLS.Spreadsheet.Drawing
{
    abstract class FakeCompositeUndoUnit: ICompositeUndoUnit
    {
        public abstract void Do();
        public abstract bool Merge(IUndoUnit unit);

        public void Add(IUndoUnit unit)
        {
            throw new NotSupportedException();
        }

        public void Close()
        {
            throw new NotSupportedException();
        }

        public ICompositeUndoUnit OpenedUnit
        {
            get { throw new NotSupportedException(); }
        }

        public object Parent
        {
            get;
            set;
        }

        public virtual string Text
        {
            get { return StringTable.Anchor; }
        }

        public bool IsEmpty
        {
            get { return false; }
        }

        public void Open(ICompositeUndoUnit unit)
        {
            throw new NotSupportedException();
        }
    }
}